iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0

今天是一個小Tip的日子,當我們在座每項測試案例時,不可能每次都要包Provider吧 太累

import { render } from '@testing-library/react';
import { UserProvider } from '@contexts/nameContext';

const renderWithProvider = (ui: any, opt: any) =>
  render(ui, {
    wrapper: UserProvider,
    ...opt
  });

export * from '@testing-library/react';

export { renderWithProvider as render };

所以我們可以用一個utils把他包起來

import { render, screen } from '../../../test-utils/context-utils';
import Name from '../Name';

test.only('should get name from context', async () => {
  render(<Name />, {});
  const getName = screen.queryByText(/hello/i);

  expect(getName).toBeTruthy();
});

這樣我們隨時都可以使用Provider的狀態


上一篇
Day 18 終於寫了一個測Provider的最初版
下一篇
Day 20 測試router的前奏
系列文
我不會測試,所以寫Jest與React Testing Library30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言